ðð

Introduction

 Introduction

  LASI drawings are not very useful if they cannot be converted to a
  commonly used CAD format, for mask generation or for transfer to another
  CAD system. The most common is GDSII Calma Stream Format. Although Calma
  drawing systems for ICs have become somewhat obsolete, the data format
  survives, and most pattern generators accept it, and newer CAD systems
  such as CADENCE or MENTOR can usually convert it. LASI can be converted
  to Calma Stream Format (CSF) exactly, and from CSF with some limitations.

  LASI has a drawing structure that is very similar to the Calma drawing
  system, with the exception that LASI has box objects and is more limited
  in its data capacity and cell nesting depth. With LASI, cells are similar
  to Calma structures, except that a definite rank is given to a cell. With
  LASI there are no Calma boundary figures, instead there are zero width
  paths usually called poly. LASI drawings transform easily into Calma
  because a box can be made into a boundary, a poly can become a boundary
  also, a path can transform directly into a path, and cells can easily
  become structures, partly due to their ranked orderly nesting.

  Since LASI drawings are more or less a subset of Calma, conversion to
  Calma is straightforward. More difficult is conversion from Calma to LASI
  because there are things in Calma (like arrays) that don't exist in LASI
  (yet). Conversion is possible in most cases if certain restrictions are
  used in the original Calma drawing, such as limiting the structure
  nesting or using only small arrays.

Conversion Programs

 Conversion Programs

  LASI2CSF.EXE is a new version of the program that converts a LASI drawing
  directly into Calma Stream Format. You should erase any old LASI2CSF.SET
  files that may have worked with older versions of the program. The setup
  data is different.

  The file generated by LASI2CSF may be put on magtape if you have MS-DOS
  to magtape capability, or more likely, be put on a floppy disk (in MS-DOS
  file format) for reading by pattern generators or work stations that have
  MS-DOS floppy reading capability.

  The CSF2TLC.EXE program will read back a CSF file and will construct a
  LASI drawing in TLC form as best as possible. A drawing first done on
  LASI will reconstruct exactly if returned from a Calma without having
  been modified in some non-compatible way. Drawings made originally on
  Calma may occasionally convert differently, since LASI presently doesn't
  have such things as datatypes, texttypes, arrays or layer 0.

  CSF2TLC produces TLC files for good reason; there can be more or less an
  infinite number of TLC files, so that a CSF file with almost any number
  of structures can be converted to TLC files. The TLC files can then be
  selectively converted into LASI drawings if necessary due to any LASI
  object allocation limitations.

Running LASI2CSF.EXE

 Running LASI2CSF.EXE

  1. Run LASI2CSF.EXE in the drawing directory of the drawing to be
     converted.

  2. LASI2CSF will start with the Conversion Setup page. It requires the
     following setup entries:

   þ The Name of the CSF file to be made. Include the ".CSF" extension in
     the name, or any other extension, such as ".GDS". The name may also
     include a path.

   þ The Name of the CSF Drawing Library to be included in the converted
     CSF file. This is usually for reference, since many applications don't
     require this name.

   þ The name of the Physical Scale Units in which the drawing has been
     done. This can only be "um" or "mil", and will default to "um".

   þ The Scale Unit LSB Correction. This needs some explanation. This
     allows you to modify the Least Significant Bit of the scale numbers
     placed in the CSF file. This is about 10e-16 of the actual scale, but
     some conversion software (Cadence for instance) is fussy and requires
     the exact bits. This will normally be 0. If you have trouble, try +1
     or -1 and see if it fixes the problem.

   Note: This correction is applied to all 8 Byte Real numbers in the
     stream format records. Currently this only affects the UNITS,
     MAGNITUDE and ANGLE records.

   þ The Number of CSF Units per Scale Unit that you want the CSF file to
     be made with. This is typically 1000 units per micron, but can vary
     with applications.

   þ The Number of LASI Units per Scale Unit that you used to draw your
     LASI layout drawing. This is the same as set by the "Scale" command
     when you did your drawing using LASI.

   þ The X and Y offsets to be added to the placement of the "main" cells
     to be put in the CSF file. This allows you to shift your drawing in
     the CSF file.

     This shift is only applied to cells listed in the Cells to Convert
     list (see below). That is, any lesser cells that LASI2CSF also
     generates are not shifted, since this would cause your drawing to be
     hopelessly distorted.

     For example, you may make a LASI drawing using the whole LASI drawing
     area so that you use negative coordinates, but a pattern generator
     only accepts coordinates greater than or equal to zero, you can add
     offsets equal to the most negative drawing coordinates, so that all
     coordinates are positive.

   þ The Datatype to use for boundaries, etc. This is a parameter that LASI
     doesn't use. It can be 0-63; usually 0 is used.

   þ The Convert Text switch. If you want to convert LASI text, set the
     switch to "y". Otherwise, text will not be converted. Text conversion
     is somewhat confusing because CSF has several attributes for its text.
     This is explained below under Text Setup.

   þ The Convert Names to Lowercase switch. Some systems into which LASI
     can be converted use lowercase names for the Calma structure names.
     You can have LASI2CSF convert any cell names to lowercase by setting
     this parameter to "y". Normally this will be "n".

   þ The Close Open Polgons switch. If the LASI drawing contains an open
     polygon, it may be an intentional zero width path, or it may be a
     mistake where a polygon has not been closed. You can optionally close
     any open polygons or you can have them translated as a path with zero
     width.

   þ The Relocation Layer for layer 64. LASI uses layers 1-64, but Calma
     uses 0-63. you can move anything on layer 64 to any Calma layer 0-63.
     Usually 0 is convenient, but you must be sure that it is an unused
     layer in your LASI drawing.

   þ The Pause for Messages switch. As the conversion is done, certain
     errors or suspicious things may be found. You can have the program
     pause when anything is found so that you can read the message.
     Otherwise, the messages will flash by too rapidly. If you know there
     are no real errors, set the Pause for Messages switch to "n".

   þ The Print a Report switch. You can have LASI2CSF print a report as it
     converts. The report will be printed on the first MS-DOS system
     printer or LPT1.


  3. Press F2 to go to the Text Setup Page.

     Calma uses several attributes to construct text. You can relate these
     to each of 4 LASI text sizes. The attributes that you use depend on
     just how you want to distinguish different texts. Different
     applications or conversions to other CAD systems will use different
     attributes. Some experimentation will probably be necessary to convert
     text reasonably correctly.

     If your drawing contains text with a size not listed, the text will be
     converted with the attributes of the first size in the list.

     The parameters that LASI2CSF can set are:

     þ Texttype, which can be 0 to 63.

     þ Font, which can be 0 to 3.

     þ Magnification, which can be used to change text size if the other
       parameters produce text of the same size.

     þ Text Width, which is usually 0, but may have to be set greater than
       zero so that certain CAD systems will accept the text. This is in
       CSF basic units and is limited from 0 to the size of the text in CSF
       basic units.

     þ Vertical Justification, which may be set to top, center and bottom.
       LASI text is always left-bottom justified so normally you will set
       this to bottom or "B".


  4. Press F3 to go to the Cells to Convert Page.

     When converting, you are allowed to convert only certain cells to
     Calma structures. This is useful when you have most of your structures
     already in a Calma or other CAD system. You can list up to 20 cells by
     name. The order or any gaps in the list are ignored.

     If converting only certain cells you may also have LASI2CSF look for
     any lesser cells that may be in the listed cells, and convert them
     too.

     You can bypass the list and have all cells converted by setting the
     Convert All Cells switch to "y".

   Note: If you set this switch, any offsets in the Conversion Setup are
     NOT applied to the cells that are converted unless you also NAME the
     cell in the list.

  5. When you are happy with the setup, press F10 to start conversion.


  If you have previously run LASI2CSF, there will be a setup file in the
  drawing directory named LASI2CSF.SET. If this is found, the setup
  parameters will be loaded when you first run LASI2CSF, and will be stored
  again as you start the conversion (by pressing F10). This saves a great
  deal of time when running LASI2CSF since you only have to modify any
  parameters.

Running CSF2TLC.EXE

 Running CSF2TLC.EXE

  CSF2TLC.EXE uses a sequential setup routine. Sometime in the future it
  will probably be revised to a random page-oriented routine similar to the
  setup that the new version of LASI2CSF.EXE uses.

  1. CSF2TLC has comments along the way as you do the setup. You should
     learn just what is expected after running the program a few times.
     Give the full name of the CSF file to be converted. This name may
     include a path. The program will not procede unless it is given a
     filename. Give the directory where the TLC files are to be made. This
     will default to the current directory if you only press ENTER.

  2. If you have previously run CSF2TLC, there will be a setup file in the
     drawing directory named CSF2TLC.SET. If this is found, you will be
     asked if you want to use the information. This can save time if you do
     conversions often on a drawing. If you choose to use the default setup
     data, steps 3-8 below will be skipped.

  3. When converting from Calma the physical units will automatically be
     microns, but you may specify the LASI basic units.

  4. You will be asked if you want to use the "2048"VAX filter. If the
     binary file has been run through a VAX on magtape, it might contain
     two extra characters at beginning of a VAX file record. You can tell
     CSF2TLC to drop two characters every 2048 characters. If errors occur
     try this option.

  5. You will then be asked for the layers and the datatypes to be
     converted. You respond to this question with the notation similar to
     the VIEW, OPEN, etc. commands in LASI, with numbers separated by
     spaces or dashes.  A space separates individual layers and a dash
     means "include all layers between".

  6. You will be given the option of converting Calma 4-sided rectangular
     boundaries to LASI boxes. If the rectangular boundaries are not to be
     modified, boxes are better for LASI.

  7. There is an option to convert any text found in the stream file to
     LASI text. The texttype number (0-63) OR the font number (0-3) in a
     Calma text record may be related to a LASI text size. A texttype is
     ALWAYS present in a Calma text record, but font may also be used by
     some CAD systems. If a texttype of 0-63 is related to a LASI text
     size, it will be used first, regardless of the font set. If you want
     to use font, enter "-" as the texttype to use. If neither a texttype
     nor font is set, a default set of minimum parameters will be used.

     Additionally you may use some of the other Calma text parameters by
     setting them to "y" or "n":

     þ If magnification information is present, it may be used.
       Magnification will multiply any texttype or font related text size.

     þ If orientation (+/-90, 180 deg) is present, it may be used.

     þ If vertical justification information is present, it may be used.

     Any multiple line Calma text will be broken into separate LASI text
     lines, and any horizontal justification will be changed to left
     justification.

     The text that you get may not look exactly the same as the original
     text since LASI uses its own character patterns.

  8. You will be asked if you want to relocate Calma layer 0 to any LASI
     layer (1-64). Any Calma layer 0 will default to LASI layer 64.

  9. CSF2TLC request just which structures you want to be converted. You
     may name specific structures. If the named structures contain other
     structures that have not been named, CSF2TLC will find these and try
     to convert them also. You therefore only need to name your top
     structure(s) and CSF2TLC will find the rest.

  10. LASI cellnames must be legal names for MS-DOS files. The names of the
     Calma structures may not conform to MS-DOS standards and must be
     changed. CSF2TLC will try to find acceptable names, but you may also
     manually change any illegal names.

  11. You will be asked if you want CSF2TLC to replace any TLC files that
     it finds already in the directory. Otherwise, CSF2TLC will keep any
     old TLC files that it finds and will only create the new ones that it
     needs.

  In most questions, the default entry will appear in the parentheses if
  one is available. Pressing ENTER defaults.

CSF2TLC Operations

 CSF2TLC Operations

  CSF2TLC first scans the CSF file to determine a hierarchy of cells. It
  also tries to convert Calma structure names to names that are MS-DOS
  acceptable. If a name is found that is a reserved word such as "PRN", or
  the name contains characters that are illegal in MS-DOS such as "*", you
  will be asked for a substitute name. If you have told CSF2TLC not to try
  to rename, any names with greater than 8 characters will call for a
  substitute also.

  CSF2TLC will search the current directory for the TLC cell file of a cell
  that might not exist as a structure in the CSF file, but still be used in
  other structures in the CSF file. This allows the TLC file of a cell to
  be reconstructed without the lesser cells being present as structures in
  the CSF file. The only requirement is that the TLC files of its lesser
  cells exist already in the drawing directory.

  After the scanning has been done to establish hierarchy and the presence
  of TLC files, a list of the cellnames, their rank, the presence of the
  structure in the CSF file, the presence of a TLC file in the directory
  and the structure name is printed.

  If the TLC file is already present it is retained even though the
  structure may exist in the CSF file. To have a new TLC file generated,
  the old TLC file must be deleted from the current directory, or the
  option of replacing all TLC files must be used when running CSF2TLC.

  If the lesser cell exist neither as a structure in the CSF file nor as a
  TLC file in the drawing directory, then the name of the expected cell is
  inserted into the TLC file being made and a warning message is given.

Possible Problems

 Possible Problems

  1. On conversion from Calma to LASI, if any structures are missing and a
     TLC file is not present, there is no way to tell if the missing
     structures or TLC files contain other missing structures or cells.

  2. Presently, arrays of objects do not exist in LASI. Therefore, when
     converting from Calma, CSF2TLC makes arrays by copying cells. This can
     fill the LASI cell capacity if you don't watch out.

  3. When CSF2TLC encounters text in a CSF file, it ignores justification
     and breaks down any multi-line Calma text into single line LASI text
     objects. This means that your translated text may not be located in
     the same place. You should also use only single line left justified
     text on the Calma or other drawing system if you intend to bring it
     into LASI.

  4. Some features of Calma are presently simply ignored, such as stretched
     components, and nodes.

  5. If you abort while CSF2TLC is making a TLC file you will probably get
     an incomplete file. Erase it.

